home *** CD-ROM | disk | FTP | other *** search
/ The Essential Home & Business Collection / The Essential Home & Business Collection.iso / 27 / 3 / 5 / HP22D5.ZIP / EXTERN / GETSCR.C < prev    next >
Text File  |  1991-04-16  |  1KB  |  61 lines

  1. #include "extern.h"        /* Extensions need these! */
  2.  
  3. HANDLE near hdl = NULL;
  4.  
  5. /*
  6. ** CopyPaint
  7. **
  8. ** Syntax:
  9. **
  10. **    copyPaint [,<isPage>]
  11. **
  12. **    The <isPage> parameter is optional. If TRUE, the paint layer of the
  13. **    page is copied. Otherwise, the paint layer of the background is copied.
  14. */
  15. CopyPaint(int NumArgs,HANDLE IsPage)
  16.  
  17. {
  18.     if (NumArgs > 1) return(STOP);
  19.     FreePaint();
  20.     hdl = GetScreen(NumArgs == 1 ? htob(IsPage) : TRUE,1,1,80,25);
  21.     return(STOP);
  22. }
  23.  
  24. /*
  25. ** PastePaint
  26. **
  27. ** Syntax:
  28. **
  29. **    pastePaint [,<isPage>]
  30. **
  31. **    The <isPage> parameter is optional. If TRUE, the paint layer of the
  32. **    page is pasted into. Otherwise, the paint layer of the background
  33. **    is pasted into.
  34. */
  35. PastePaint(int NumArgs,HANDLE IsPage)
  36.  
  37. {
  38.     if (NumArgs > 1) return(STOP);
  39.     if (hdl) SetScreen(NumArgs == 1 ? htob(IsPage) : TRUE,1,1,80,25,deref(hdl));
  40.     return(STOP);
  41. }
  42.  
  43. FreePaint()
  44.  
  45. {
  46.     FreeHandle(hdl);
  47.     hdl = NULL;
  48. }
  49.  
  50. pascal far WhenUnLoaded()
  51.  
  52. {
  53.     FreePaint();
  54. }
  55.  
  56. POOL pascal Pool[] = {
  57.     {"copyPaint",    CopyPaint,    0,    HANDLER},
  58.     {"pastePaint",    PastePaint,    0,    HANDLER},
  59.     {"freePaint",    FreePaint,    0,    HANDLER},
  60.     {NULL,        NULL,        0,    0}    };
  61.